Method of soft-decision decoding of Reed-Solomon codes

ABSTRACT

The invention relates to a Reed-Solomon decoder and to a method of soft decision decoding of Reed-Solomon codes, wherein a syndrome polynomial, an erasure polynomial, and a modified syndrome polynomial are computed on-the-fly in parallel by iteratively updating coefficients of these polynomials.

FIELD OF THE INVENTION

This application claims the benefit, under 35 U.S.C. § 365 ofInternational Application PCT/EP03/04689, filed May 6, 2003, which waspublished in accordance with PCT Article 21(2) on Nov. 20, 2003 inEnglish and which claims the benefit of European patent application No.02010430.3, filed May 8, 2002.

The present invention pertains generally to error detection/correctionand more particularly to systems and methods used in Reed-Solomondecoders.

BACKGROUND AND PRIOR ART

A commonly used error correcting technique is the Reed-Solomon errorcorrecting code. For an overview and for applications of Reed-Solomoncodes reference is made to “Reed-Solomon Codes and Their Applications”,Stephen B. Wicker, Vijay R. Bhargava, IEEE Press, 1994 and “DigitalCommunications, Fundamentals and Applications”, Second Edition, BernardSklar, Prentice Hall PTR, 2001.

U.S. Pat. No. 5,517,509 shows a Reed-Solomon decoder in the form of aEuclid's algorithm operation circuit in which division polynomials arerepeatedly divided by residues resulting from the division process ofdividend polynomials and division polynomials until the degree ofresidues of the division process satisfies a prescribed condition.

The Euclid's algorithm operation circuit comprises register groups forstoring dividend polynomials and division polynomials, respectively, afeedback loop for storing residues resulting from the division processof the dividend polynomials by the division polynomials, a shifter forshifting contents of registers, and an exchanger for exchangingcoefficients of the dividend polynomials with coefficients of thedivision polynomials.

The decoder comprises a syndrome operator for calculating syndromes fromreceived code-words, an erasure locator generator for generating erasurelocator data from erasure locator flags synchronous with receivedcode-words, a modified syndrome generator for generating modifiedsyndromes, an erasure locator polynomial generator for generatingerasure locator polynomials from the erasure locator data, a Euclid'salgorithm operation circuit for obtaining error locator polynomials anderror value polynomials, a Chien searcher for obtaining error locationsand error values and a correction processor for correcting errors of thereceived code-word. The modified syndrome generator and the erasurelocator polynomial generator are used jointly with the Euclid'salgorithm operation circuit.

Other approaches for implementing a Reed-Solomon decoder are know fromU.S. Pat. Nos. 5,991,911, 6,032,283, 6,304,994 B1, 5,537,426 and EP 0821 493 A1 and EP 0 942 421 A1.

Usually the computation of the modified syndrome polynomial is performedby computation of the product of the syndrome and erasure polynomials.This computation requires additional cycles and computation time toobtain the modified syndrome polynomial.

It is therefore an object of the present invention to provide for amethod of soft-decision decoding of Reed-Solomon codes where thecalculation of the modified syndrome polynomial does not requireadditional cycles.

SUMMARY OF THE INVENTION

The object of the invention is solved basically by applying the featureslaid down in the independent claims. Preferred embodiments of theinvention are given in the dependent claims.

The present invention enables to minimize the computation time forsoft-decision decoding of Reed-Solomon codes by parallel on-the-flycomputation of the syndrome and erasure polynomials as well as themodified syndrome polynomial. In other words, the invention enables toperform the calculation of the modified syndrome polynomial before thecomputation of the syndrome and erasure polynomials has been completed.

The present invention is particularly advantageous in that it enables tocompute the modified syndrome polynomials on-the-fly with the incomingsymbols. Therefore a separate computation step usually referred to aspolynomial expansion can be omitted.

It is a further advantage that after correction a direct update of themodified syndromes can be performed without computation of the productof the syndrome and erasure polynomials. This results in a reduction ofthe overall computation time and hardware requirements.

The general idea of the invention is to reduce the number of cyclesneeded to compute the modified syndrome. To obtain the modified syndromepolynomial a multiplication of the erasure and syndrome polynomial hasto be done. The complexity of the conventional serial algorithm for thatisc=r(l+1)−l(l+1)/2,where r is the number of parity symbols in a RS code word and l is thenumber of erasures in a code word.

The complexity of the conventional serial-parallel algorithm isc=l+1.

The general idea of the invention is to compute the modified syndromeon-the-fly. Therefore the present method does not need any additionalcycles for computation of the modified syndrome, which saves computationpower and time.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a hardware implementation of a knownon-the-fly syndrome computation,

FIG. 2 shows a block diagram of a hardware implementation of a knownon-the-fly computation of the erasure polynomial,

FIG. 3 is illustrative of a flowchart of an embodiment for on-the-flycomputation of the modified syndrome polynomial,

FIG. 4 is a block diagram of a hardware implementation for on-the-flycomputation of the modified syndrome polynomials,

FIG. 5 is a timing diagram, which is related to the flowchart of FIG. 3,

FIG. 6 is illustrative of an alternative method for on-the-flycomputation of the modified syndrome polynomials,

FIG. 7 is a block diagram of a hardware implementation of the method ofFIG. 6,

FIG. 8 is a timing diagram relating to the method of FIG. 6.

DETAILED DESCRIPTION

In soft-decision decoding it is known that a receiver can correct aslong as2e+f<d _(min).  (1)where e is the number of errors, f is the number of erasures, andd_(min) is the Hamming distance.

For Computing the errors the following steps have to be done:

-   -   1. Compute the syndrome polynomial

$\begin{matrix}{{S(x)} = {{\sum\limits_{i = 0}^{N - 1}v_{i}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{i}x}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{2i}x^{2}}} + \ldots + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{{({M - 1})}i}x^{M - 1}}}}} & (2)\end{matrix}$

-   -   2. Compute the erasure polynomial, where α^(j) ^(i) is the power        of the positions j₀, j₁, . . . , j_(p−1) of the erasures

$\begin{matrix}{{\Gamma(x)} = {\prod\limits_{i = 0}^{p - 1}\left( {1 - {\alpha^{j_{i}}x}} \right)}} & (3)\end{matrix}$

-   -   3. Construct the modified syndrome polynomial by        T(x)=Γ(x)S(x)modx ^(M)  (4)    -   4. Solve the key equation        Λ(x)T(x)=Ω(x)modx ^(M)  (5)    -   with Berlekamp-Massey or Euclid's algorithm.    -   5. Compute the Forney polynomial        Ψ(x)=Λ(x)Γ(x)  (6)    -   6. Compute the magnitude of the errors and erasures using the        Forney equation.

As apparent from Equations (2) and (3), they can be computed on-the-flywith the incoming data symbols ν_(N−1), . . . ν₁, ν₀.

In the following a more detailed explanation of an implementation ofabove step 1, i.e. Equation (2), is given.

Let the error vector be {right arrow over (e)}=[e₀, e₁, . . . , e_(N−1)]with polynomial representatione(x)=e ₀ +e ₁ x+ . . . +e _(N−1) x ^(N−1) with e _(i) ∈GF(2⁸).  (7)

The received polynomial at the input of the decoder is thenν(x)=c(x)+e(x)=ν₀+ν₁ x+ . . . +ν _(N−1) x ^(N−1) with ν_(i)∈GF(2⁸),  (8)where the polynomial coefficients are components of the received vector{right arrow over (ν)}. Since the code word polynomial c(x) is divisibleby the generator polynomial g(x), and g(=α^(i))=0 for i=0,1, . . . ,M−1, evaluating the polynomial v(x) at the roots of the generatorpolynomial, which are α⁰, α¹, . . . α^(M−1) yields to

$\begin{matrix}\begin{matrix}{{v\left( \alpha^{j} \right)} = {{c\left( \alpha^{j} \right)} + {e\left( \alpha^{j} \right)}}} \\{= {e\left( \alpha^{j} \right)}} \\{{= {\sum\limits_{i = 0}^{N - 1}{e_{i}\alpha^{ij}}}},{j = 0},1,\ldots\mspace{11mu},{M - 1.}}\end{matrix} & (9)\end{matrix}$

That signifies that the final equation set involves only components ofthe error pattern not those of the code word. They are called assyndromes S_(j), j=0,1, . . . , M−1, where

$\begin{matrix}{{S_{j} = {{v\left( \alpha^{j} \right)} = {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{ij}}}}},{j = 0},1,\ldots\mspace{11mu},{M - 1.}} & (10)\end{matrix}$

These syndromes are used to form a syndrome polynomial in the form

$\begin{matrix}\begin{matrix}{{S(x)} = {{\sum\limits_{i = 0}^{N - 1}v_{i}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{i}x}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{2i}x^{2}}} + \ldots +}} \\{\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{{({M - 1})}i}x^{M - 1}}} \\{= {S_{0} + {S_{1}x} + {S_{2}x^{2}} + \ldots + {S_{M - 1}{x^{M - 1}.}}}}\end{matrix} & (11)\end{matrix}$

An on-the-fly computation of Equation (11) can be achieved is byiteratively updating the coefficients S_(i), i=0,1, . . . , M−1. At eachsymbol clock j, a new symbol ν_(n) is arriving, the power α^(n) of theposition n is computed and the coefficients are updated in the followingway:S _(i,j) =S _(i,j−1)+ν_(n)α^(in) ,i=0,1, . . . , M−1 where S_(i,−1)=0.  (12)

A hardware implementation of an on-the-fly syndrome computation is shownin FIG. 1. At the beginning of a new code sequence, register 1 isinitialised with the power of the position of the first symbol. Theregisters 2 are initialised with zero. Each time a new symbol arrives,register 1 and registers 2 are clocked, the syndromes are updatedaccording to Equation (12) and the power of the root term in register 1is decreased by one.

In the following a more detailed explanation of above step 2, i.e.Equation (3), is given.

Assuming p erasures at positions j₀, j₁, . . . , j_(p−1), the erasurepolynomial is computed in the following manner

$\begin{matrix}\begin{matrix}{{\Gamma(x)} = {\prod\limits_{i = 0}^{p - 1}\left( {1 - {\alpha^{j_{i}}x}} \right)}} \\{= {\Gamma_{0} + {\Gamma_{1}x} + {\Gamma_{2}x^{2}} + \ldots + {\Gamma_{p}x^{p}}}}\end{matrix} & (13)\end{matrix}$

An on-the-fly computation of that equation can be achieved byiteratively updating the polynomial. Each time j, when a new erasureν_(n) occurs, the power α^(n) of the erasure position n is computed andthe polynomial is updated in the following wayΓ_(j)(x)=Γ_(j−1)(x)·(1−α^(n) x)=(Γ_(0,j−1)+Γ_(1,j−1) x+ . . . +Γ _(p,j−)x ^(p))(1−α^(n) x)  (14)

Examining the final polynomial of Equation (14), the coefficients can bewritten as

$\begin{matrix}{\Gamma_{i,j} = \left\{ {\begin{matrix}{{\Gamma_{i,{j - 1}} + {\alpha^{n}\Gamma_{{i - 1},{j - 1}}}},} & {{i = 1},2,\ldots\mspace{11mu},p} \\{1,} & {i = 0}\end{matrix},{{{where}\mspace{14mu}\Gamma_{i,{- 1}}} = 0.}} \right.} & (15)\end{matrix}$

A hardware implementation of an on-the-fly erasure polynomialcomputation, achieved by Equation (15) is depicted in FIG. 2. If theincoming symbol is an erasure, the depicted switches are toggled and thecircuit realizes the computation according Equation (15).

The switches remain in their depicted position if the symbol is not anerasure. The switches are realized as combinatorial logic; hence they donot cause any extra clock delay. They are directly connected to theerasure signal provided with the symbol information. At the beginning ofa new code sequence register 1 is initialised with the power of theposition of the first symbol, for example with α¹⁸¹ for the inner codeof DVD.

The registers 2 are initialised with zero. Each time, when a new symbolarrives, register 1 and registers 2 are clocked, the syndromes are thenupdated according to Equation (15) and the power of the root term inregister 1 is decreased by one.

The modified syndrome polynomial is obtained by multiplying the syndromepolynomial of Equation (2) with the erasure polynomial of Equation (3),according to

$\begin{matrix}\begin{matrix}{{T(x)} = {{S(x)}{\Gamma(x)}{mod}\; x^{M}}} \\{= \left( {S_{0} + {S_{1}x} + {S_{2}x^{2}} + \ldots + {S_{M - 1}x^{M - 1}}} \right)} \\{\left( {\Gamma_{0} + {\Gamma_{1}x} + {\Gamma_{2}x^{2}} + \ldots + {\Gamma_{p}x^{p}}} \right){mod}\; x^{M}}\end{matrix} & (16)\end{matrix}$

The result is a cyclic convolution between the two polynomials

$\begin{matrix}{{T(x)} = {{S_{0}\Gamma_{0}} + {\left( {{S_{1}\Gamma_{0}} + {S_{0}\Gamma_{1}}} \right)x} + {\left( {{S_{2}\Gamma_{0}} + {S_{1}\Gamma_{1}} + {S_{0}\Gamma_{2}}} \right)x^{2}} + \ldots + {\sum\limits_{j = 0}^{M - 1}{S_{j}\Gamma_{M - 1 - j}x^{M - 1}}}}} & (17)\end{matrix}$

According to the present invention, we start by substituting Equation(2) into (17), which yields

$\begin{matrix}{{{{T(x)} = {{\sum\limits_{i = 0}^{N - 1}v_{i}} + {\left( {{\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{i}}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\Gamma_{i}}}} \right)x} + {\left( {{\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{2i}}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{i}\Gamma_{1}}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\Gamma_{2}}}} \right)x^{2}} + \ldots + {\sum\limits_{j = 0}^{M - 1}{\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{ij}\Gamma_{M - 1 - j}x^{M - 1}}}}}}{{or}\mspace{14mu}{better}}}\mspace{14mu}} & (18) \\{{T(x)} = {\sum\limits_{i = 0}^{N - 1}{{v_{i}\left( {1 + {\left( {\alpha^{i} + \Gamma_{1}} \right)x} + {\left( {\alpha^{2i} + {\alpha^{i}\Gamma_{1}} + \Gamma_{2}} \right)x^{2}} + \ldots + {\sum\limits_{j = 0}^{M - 1}{\alpha^{ij}\Gamma_{M - 1 - j}x^{M - 1}}}} \right)}.}}} & (19)\end{matrix}$

This equation can now be interpreted in a way that indicates how toupdate the polynomial coefficients taking previous erasures intoaccount. Assuming that at the time step j−1 the registers T_(i), i=0,1,. . . M−1 hold the correct modified syndromes and that we receive attime step j a further data symbol, we simply update the modifiedsyndrome polynomial according to Equation (19).

With that information we can write down an algorithm A for an on-the-flycomputation of the modified syndromes. Depending on whether the incomingsymbol is or is not signaled as an erasure, Algorithm A needs two or oneconsecutive computations, respectively. But it is also possible to writedown an alternative algorithm B for an on-the-fly computation of themodified syndromes. Algorithm B consists of two alternative branches,one of which is selected and performed depending on whether the incomingsymbol is or is not signaled as an erasure, and where each of thebranches needs just one system clock for performing all the computationsnecessary for the case in question.

Algorithm A

With Equation (19) it is possible to compute the modified syndromedirectly without the computation of the syndromes. The flowchart in FIG.3 shows the first embodiment of an on-the-fly computation. The flowchartcomprises Equation (20) to calculate two auxiliary terms T_(*)(x),Γ_(*)(x) and Equation (21) to calculate an iteration result T_(j)(x),Γ_(j)(x) from the auxiliary terms in case the incoming symbol ν_(n) isan erasure. At each symbol clock, when a new symbol is obtained, themodified syndromes are updated according to Equation (20). At every stepof the calculation, the resulting modified syndromes are correct up tothe latest received symbol.

For this algorithm the system clock rate has to be at least twice thesymbol clock rate. The algorithm ends after the computation for the lastsymbol, then the correct modified syndrome is obtained.

In case of an erasure two system clocks are needed, one for the updatingaccording to Equation (20) and one for multiplying the polynomial withthe root as described by Equation (21). In case of an erasure, the orderof computing Equation (20) and (21) can be interchanged. If so, it mustbe taken care, that if the first symbol of the stream is an erasure, theregister T₀ must be preloaded with one, otherwise the first part ofEquation (21) would yield zero.

The calculation of Equation (20) directly results from the cyclicconvolution described in Equation (19). Therefore we describe in thefollowing the algorithm of getting an erasure symbol.

Assume that up to time step n−1 we have in memory the following modifiedsyndrome, which is the linear convolution of Equation (19)

$\begin{matrix}\begin{matrix}{{T_{n - 1}(x)} = {\sum\limits_{i = 0}^{n - 1}\;{v_{i}\left\lbrack {1 + {\left( {a^{i} + \Gamma_{1,{n - 1}}} \right)x} +} \right.}}} \\{{\left( {a^{2i} + {a^{i}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}} \right)x^{2}} + \ldots +} \\\left. {\sum\limits_{j = 0}^{M - 1}\;{a^{ij}\Gamma_{{M - 1 - j},{n - 1}}x^{M - 1}}} \right\rbrack\end{matrix} & (22)\end{matrix}$and the erasure polynomialΓ_(n−1)(x)=1+Γ_(1,n−1) x+Γ _(2,n−1) x ²+ . . . . +Γ_(p,n−1) x^(p).  (23)

Next we assume that at time step n an erasure symbol ν_(n), is coming,therefore computation of Equation (20) yields

$\begin{matrix}\begin{matrix}{{T_{*}(x)} = {{\sum\limits_{i = 0}^{n - 1}\;{v_{i}\left( {1 + {\left( {a^{i} + \Gamma_{1,{n - 1}}} \right)x} + {\left( {a^{2i} + {a^{i}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}} \right)x^{2}} + \ldots + {\sum\limits_{j = 0}^{M - 1}\;{a^{ij}\Gamma_{{M - 1 - j},{n - 1}}x^{M - 1}}}} \right)}} +}} \\{v_{n}\left( {1 + {\left( {a^{n} + \Gamma_{1,{n - 1}}} \right)x} + {\left( {a^{2n} + {a^{n}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}} \right)x^{2}} + \ldots + {\sum\limits_{i = 0}^{M - 1}\;{a^{ni}\Gamma_{{M - 1 - i},{n - 1}}x^{M - 1}}}} \right)}\end{matrix} & (24) \\{{T_{*}(x)} = {\sum\limits_{i = 0}^{n}\;{v_{i}\left( {1 + {\left( {a^{i} + \Gamma_{1,{n - 1}}} \right)x} + {\left( {a^{2i} + {a^{i}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}} \right)x^{2}} + \ldots + {\sum\limits_{j = 0}^{M - 1}\;{a^{ij}\Gamma_{{M - 1 - j},{n - 1}}x^{M - 1}}}} \right)}}} & (25)\end{matrix}$

Now Equation (21) is computed

${T_{n}(x)} = {\left( {\sum\limits_{i = 0}^{n}\;{v_{i}\left( {1 + {\left( {a^{i} + \Gamma_{1,{n - 1}}} \right)x} + {\left( {a^{2i} + {a^{i}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}} \right)x^{2}} + \ldots + {\sum\limits_{j = 0}^{M - 1}\;{a^{ij}\Gamma_{{M - 1 - j},{n - 1}}x^{M - 1}}}} \right)}} \right)\left( {1 - {a^{n}x}} \right)}$

Using cyclic convolution again yields

$\begin{matrix}\begin{matrix}{{T_{n}(x)} = {{\underset{i = 0}{\overset{N}{\sum\;}}\;{V_{I}\left( {1 + a^{i} + \underset{\underset{\Gamma_{1,n}}{︸}}{a^{n} + \Gamma_{1,{n - 1}}}} \right)}x} +}} \\{{\left( {a^{2i} + {a^{i}\underset{\underset{\Gamma_{1,n}}{︸}}{\left( {a^{n} + \Gamma_{1,{n - 1}}} \right)}} + \underset{\underset{\Gamma_{2,n}}{︸}}{{a^{n}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}}} \right)x^{2}} + \ldots +} \\\left. {\underset{j = 0}{\overset{M - 1}{\sum\;}}\;{a^{ij}\underset{\underset{\Gamma_{{M - 1 - j},n}}{︸}}{\left( {{a^{n}\Gamma_{{M - {1j}},{n - 1}}} + \Gamma_{{M - 1 - j},{n - 1}}} \right)}x^{M - 1}}} \right)\end{matrix} & (26)\end{matrix}$which can be rewritten as

$\begin{matrix}{{T_{n}(x)} = {\sum\limits_{i = 0}^{n}\;{{v_{i}\left( {1 + {\left( {a^{i} + \Gamma_{1,n}} \right)x} + {\left( {a^{2i} + {a^{i}\Gamma_{1,n}} + \Gamma_{2,n}} \right)x^{2}} + \ldots + {\sum\limits_{j = 0}^{M - 1}\;{a^{ij}\Gamma_{{M - 1 - j},n}x^{M - 1}}}} \right)}.}}} & (27)\end{matrix}$

This is in fact again the linear convolution of the syndrome and erasurepolynomial, according to Equation (19).

An embodiment of algorithm A for on-the-fly computation of the modifiedsyndrome can be seen in FIG. 4. If the switches are in their depictedposition, the architecture realizes the computation according toEquation (20). If the switches are toggled, the architecture realizesthe computation according to Equation (21).

The switches are realized as combinatorial logic; hence they do notcause any extra clock delay. By comparison with the embodiments of FIG.1 and FIG. 2 it can easily be seen that there is only an additionaladder per cell or register necessary. That means there is a reduction inhardware, because no additional polynomial multiplier is necessary.

At the beginning of a new code sequence, register 1 in FIG. 4 isinitialised with the power of the position of the first symbol, forexample with α¹⁸¹ for the example of the inner code of DVD. Theregisters 2 and 3 are initialised with zeros. At every rising edge ofthe symbol clock a new symbol arrives and register 1 is clocked,decreasing the root power by one. Afterwards registers 2 are clockedwith the next falling edge of the symbol clock, which updates thesyndromes according to Equation (20).

If the arrived symbol was signaled as an erasure, the switches aretoggled and registers 2 and 3 are clocked again, computing Equation(21). At the end of the last symbol in the sequence, after the lastcomputation, registers 2 hold the modified syndromes of the whole codesequence and registers 3 hold the erasure polynomial.

In the following reference is made to FIG. 5, which shows an example forthe timing behavior of the method of FIG. 3.

Assuming M=10 and order goes downward, as it is the case for the innercode of DVD. The symbol order starts with 181 and goes down to 0. Theregisters are preloaded with T(x)=0 and Γ⁻¹(x)=1. Let us assume wereceive the following data stream:ν₁₈₁=α⁶,ν₁₈₀*=α⁹,ν₁₇₉*=α¹⁰,ν₁₇₈=α¹²,ν₁₇₇=α¹⁵,ν₁₇₆= . . . , . . . ,ν₀=α^(. . .),where the ν_(i)* shall indicate those symbols which are signaled aserasures. At every rising edge of the symbol clock we get a new symbolν_(n) together with its erasure information as shown in FIG. 5, and theregister 1 of the circuit in FIG. 4 is clocked and contains the rightpower term α^(n) of that symbol. At the first system clock after therising edge of the symbol clock, denoted as 1 in FIG. 5, registers 2 ofthe circuit in FIG. 4 are clocked in their depicted position andEquation (20) is computed.

If the erasure signal is true the switches in FIG. 4 are toggled andregisters 2 and 3 of the circuit are clocked again at the next risingedge of the system clock, denoted 2 in FIG. 5, which leads to thecomputation of Equation (21). After the last computation of the 182ndsymbol, the correct modified syndrome of the whole codeword is obtained.For the present example, the intermediate results up to after the fifthincoming symbol shall now be explained in detail.

Conventional Way

At first the intermediate modified syndrome is calculated in aconventional way as a reference to be able to verify the result of theinventive algorithm explained below. Equation (2) gives the syndrome ofthe data stream as

$\begin{matrix}\begin{matrix}{{S(x)}=={\left( {a^{6} + a^{9} + a^{10} + a^{12} + a^{15}} \right) +}} \\{{\left( {{a^{6}a^{181}} + {a^{9}a^{180}} + {a^{10}a^{179}} + {a^{12}a^{178}} + {a^{15}a^{177}}} \right)x} + \ldots +} \\{\left( {{a^{6}a^{9 - 181}} + {a^{9}a^{9 - 180}} + {a^{10}a^{9 - 179}} + {a^{12}a^{9 - 178}} + {a^{15}a^{9 - 177}}} \right)x^{9}} \\{= {a^{169} + {a^{79}x} + {a^{113}x^{2}} + {a^{37}x^{3}} + {a^{194}x^{4}} +}} \\{{a^{112}x^{5}} + {a^{239}x^{6}} + {a^{168}x^{7}} + {a^{174}x^{8}} + {a^{240}{x^{9}.}}}\end{matrix} & (28) \\{{{\Gamma(x)} = {{\left( {1 - {a^{180}x}} \right)\left( {1 - {a^{178}x}} \right)} = {1 + {a^{228}x} + {a^{103}{x^{2}.}}}}}\mspace{194mu}} & (29)\end{matrix}$

By multiplying the two polynomials, the modified syndrome polynomial upto that symbol is obtained as

$\begin{matrix}\begin{matrix}{{T(x)} = {{{S(x)}{\Gamma(x)}{mod}\mspace{14mu} x^{M}} = {a^{69} + {\left( {a^{79} + {a^{169}a^{228}}} \right)x} +}}} \\{{{+ \left( {a^{113} + {a^{79}a^{228}} + {a^{169}a^{103}}} \right)}x^{2}} + \ldots} \\{\ldots + {\left( {a^{240} + {a^{174}a^{228}} + {a^{168}a^{103}}} \right)x^{9}}} \\{= {a^{169} + {a^{134}x} + {a^{119}x^{2}} + {a^{68}x^{3}} + {a^{128}x^{4}} + {a^{172}x^{5}} +}} \\{{{+ a^{21}}x^{6}} + {a^{40}x^{7}} + {a^{217}x^{8}} + {a^{152}x^{9}}}\end{matrix} & (30)\end{matrix}$On-the-Fly Algorithm

Computation is done in order of the incoming symbol; after each step,the resulting modified syndromes are correct up to the latest receivedsymbol.

-   1. Getting data symbol ν₁₈₁=α⁶; first system clock 1; computing    Equation (20):

$\begin{matrix}\begin{matrix}{{T_{0}(x)} = {a^{6}\left( {1 + {a^{181}x} + {a^{2 - 180}x^{2}} + \ldots + {a^{9 - 180}x^{9}}} \right)}} \\{= {a^{6} + {a^{187}x} + {a^{113}x^{2}} + {a^{39}x^{3}} + {a^{220}x^{4}} +}} \\{{{+ a^{146}}x^{5}} + {a^{72}x^{6}} + {a^{253}x^{7}} + {a^{179}x^{8}} + {a^{105}x^{9}}}\end{matrix} & (31) \\{\Gamma_{0} = 1} & (32)\end{matrix}$

-   2. Getting erasure symbol ν₁₈₀*=α⁹; first system clock 1; computing    Equation (20):

$\begin{matrix}\begin{matrix}{{T_{*}(x)} = {\left( {a^{6} + a^{9}} \right) + {\left( {a^{187} + {a^{9}a^{180}}} \right)x} +}} \\{{\left( {a^{113} + {a^{9}a^{2 - 180}}} \right)x^{2}} + {\ldots\ldots} + {\left( {a^{105} + {a^{9}a^{9 - 180}}} \right)x^{9}}} \\{= {a^{229} + {a^{237}x} + {a^{138}x^{2}} + {0 \cdot x^{3}} + {a^{244}x^{4}} + {a^{194}x^{5}} +}} \\{{a^{37}x^{6}} + {a^{94}x^{7}} + {a^{57}x^{8}} + {a^{35}x^{9}}}\end{matrix} & (33)\end{matrix}$

Second system clock 2, computing Equation (21):

$\begin{matrix}{\begin{matrix}{{T_{1}(x)} = {a^{229} + {\left( {a^{237} + {a^{180}a^{229}}} \right)x} +}} \\{{\left( {a^{138} + {a^{180}a^{237}}} \right)x^{2}} + \ldots + {\left( {a^{35} + {a^{180}a^{57}}} \right)x^{9}}} \\{= {a^{229} + {a^{211}x} + {a^{137}x^{2}} + {a^{63}x^{3}} + {a^{244}x^{4}} + {a^{170}x^{5}} +}} \\{{a^{96}x^{6}} + {a^{22}x^{7}} + {a^{203}x^{8}} + {a^{129}x^{9}}}\end{matrix}{and}} & (34) \\{{\Gamma_{1}(x)} = {1 + {a^{180}x}}} & (35)\end{matrix}$

-   3. Getting data symbol ν₁₇₉=α¹⁰; first system clock 1, computing    Equation (20):

$\begin{matrix}\begin{matrix}{{T_{2}(x)} = {\left( {a^{229} + a^{10}} \right) + {\left( {a^{211} + {a^{10}\left( {a^{179} + a^{180}} \right)}} \right)x} +}} \\{{\left( {a^{137} + {a^{10}\left( {a^{2 - 179} + {a^{179}a^{180}}} \right)}} \right)x^{2}} + \ldots +} \\{\left( {a^{129} + {a^{10}\left( {a^{9 - 179} + {a^{8 - 179}a^{180}}} \right)}} \right)x^{9}} \\{= {a^{199} + {a^{179}x} + {a^{162}x^{2}} + {a^{87}x^{3}} + {a^{209}x^{4}} + {a^{48}x^{5}} +}} \\{{a^{201}x^{6}} + {a^{133}x^{7}} + {a^{182}x^{8}} + {a^{215}x^{9}}}\end{matrix} & (36) \\{{\Gamma_{2}(x)} = {1 + {a^{180}x}}} & (37)\end{matrix}$

-   4. Getting erasure symbol ν₁₇₈*=α¹²; first system clock 1, computing    Equation (20):

$\begin{matrix}\begin{matrix}{{T_{*}(x)} = {\left( {a^{199} + a^{12}} \right) + {\left( {a^{179} + {a^{12}\left( {a^{178} + a^{180}} \right)}} \right)x} +}} \\{{\left( {a^{162} + {a^{12}\left( {a^{2 - 178} + {a^{178}a^{180}}} \right)}} \right)x^{2}} + \ldots +} \\{\left( {a^{215} + {a^{12}\left( {a^{9 - 178} + {a^{8 - 178}a^{180}}} \right)}} \right)x^{9}} \\{= {a^{216} + {a^{110}x} + {a^{187}x^{2}} + {a^{111}x^{3}} + {a^{17}x^{4}} + {a^{146}x^{5}} +}} \\{{a^{64}x^{6}} + {a^{37}x^{7}} + {a^{108}x^{8}} + {a^{39}x^{9}}}\end{matrix} & (38)\end{matrix}$

Second system clock 2, computing Equation (21):

$\begin{matrix}{\begin{matrix}{{T_{3}(x)} = {a^{216} + {\left( {a^{110} + {a^{178}a^{216}}} \right)x} +}} \\{{\left( {a^{187} + {a^{178}a^{110}}} \right)x^{2}} + \ldots + {\left( {a^{39} + {a^{178}a^{108}}} \right)x^{9}}} \\{= {a^{216} + {a^{36}x} + {a^{234}x^{2}} + {a^{135}x^{3}} + {a^{85}x^{4}} +}} \\{{a^{88}x^{5}} + {a^{202}x^{6}} + {a^{244}x^{7}} + {a^{166}x^{8}} + {a^{231}x^{9}}}\end{matrix}{and}} & (39) \\\begin{matrix}{{\Gamma_{3}(x)} = {1 + {\left( {a^{180} + a^{178}} \right)x} + {a^{180}a^{178}x^{2}}}} \\{= {1 + {a^{228}x} + {a^{103}x^{2}}}}\end{matrix} & (40)\end{matrix}$

-   5. Getting data symbol ν₁₇₇=α¹⁵; first system clock 1; computing    Equation (20):

$\begin{matrix}\begin{matrix}{{T_{4}(x)} = {\left( {a^{216} + a^{15}} \right) + {\left( {a^{36} + {a^{15}\left( {a^{177} + a^{228}} \right)}} \right)x} +}} \\{{\left( {a^{234} + {a^{15}\left( {a^{2 - 177} + {a^{177}a^{228}} + a^{103}} \right)}} \right)x^{2}} + \ldots +} \\{\left( {a^{231} + {a^{15}\left( {a^{9 - 177} + {a^{8 - 177}a^{228}} + {a^{7 - 177}a^{103}}} \right)}} \right)x^{9}} \\{= {a^{169} + {a^{134}x} + {a^{119}x^{2}} + {a^{68}x^{3}} + {a^{128}x^{4}} + {a^{172}x^{5}} +}} \\{{a^{21}x^{6}} + {a^{40}x^{7}} + {a^{217}x^{8}} + {a^{152}x^{9}}}\end{matrix} & (41) \\\begin{matrix}{{\Gamma_{4}(x)} = {1 + {\left( {a^{180} + a^{178}} \right)x} + {a^{180}a^{178}x^{2}}}} \\{= {1 + {a^{228}x} + {a^{103}x^{2}}}}\end{matrix} & (42)\end{matrix}$

Comparison of Equation (42) with (29) and (41) with (30) verifies thealgorithm. This result is an intermediate result, it is not the finalmodified syndrome but merely the modified syndrome up to the fifthreceived symbol. The modified syndrome of the whole code sequence isobtained after the 182nd computation.

Algorithm B

In the following, the alternative algorithm B for the computation of themodified syndrome polynomials will be explained in more detail:

The second system clock at the computation of an erasure symbol can beavoided by inserting Equation (20) in Equation (21), which yields

$\begin{matrix}\begin{matrix}{{T_{n}(x)} = {{{T_{n - 1}(x)}\left( {1 - {a^{n}x}} \right)} +}} \\{v_{n}\left( {1 + {\left( {a^{n} + \Gamma_{1,{n - 1}}} \right)x} + {\left( {a^{2n} + {a^{n}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}} \right)x^{2}} + \ldots +} \right.} \\{{\left. {\sum\limits_{j = 0}^{M - 1}\;{a^{nj}\Gamma_{{M - 1 - j},{n - 1}}x^{M - 1}}} \right)\left( {1 - {a^{n}x}} \right)},}\end{matrix} & (43)\end{matrix}$ ${or}\mspace{20mu}{better}\begin{matrix}\begin{matrix}{{T_{n}(x)} = {{{T_{n - 1}(x)}\left( {1 - {a^{n}x}} \right)} +}} \\{v_{n}\left( {1 + {\underset{\underset{\Gamma_{1,{n - 1}}}{︸}}{\left( {a^{n} + \underset{\underset{\Gamma_{1,n}}{︸}}{a^{n} + \Gamma_{1,{n - 1}}}} \right)}x} + {\underset{\underset{\Gamma_{2,{n - 1}}}{︸}}{\left( {a^{2n} + {a^{n}\underset{\underset{\Gamma_{1,n}}{︸}}{\left( {a^{n} + \Gamma_{1,{n - 1}}} \right)}} + \underset{\underset{\Gamma_{2,n}}{︸}}{{a^{n}\Gamma_{1,{n - 1}}} + \Gamma_{2,{n - 1}}}} \right)}x^{2}} + \ldots +} \right.} \\{\underset{\underset{\Gamma_{{M - 1},{n - 1}}}{︸}}{\sum\limits_{j = 0}^{M - 1}\;{a^{nj}\underset{\underset{\Gamma_{{M - 1 - j},n}}{︸}}{\left( {{a^{n}\Gamma_{{M - j},{n - 1}}} + \Gamma_{{M - 1 - j},{n - 1}}} \right)}}}{x^{M - 1}.}}\end{matrix} & (44)\end{matrix}$

Therefore the equation can be written asT _(n)(x)=T _(n−1)(x)(1−α^(n) x)+ν_(n)Γ_(n−1)(x), where Γ⁻¹(x)=1  (45)

Now it is possible to write down the second algorithm B, which needsonly one system clock for every incoming symbol type.

The flowchart in FIG. 6 shows the second embodiment of an on-the-flycomputation. For calculating one iteration result T_(j)(x), Γ_(j)(x),the flowchart comprises Equation (46) used in case the incoming symbolν_(n) is an erasure, and Equation (47) used otherwise.

At each symbol clock, when a new symbol is obtained, the modifiedsyndromes are updated. At every step of the calculation, the resultingmodified syndromes are correct up to the latest received symbol. Forthat algorithm B the system clock rate can be the same as the symbolclock rate, which yields to a very fast computation. The algorithm endsafter the last symbol, then the correct modified syndrome is obtained.

A second embodiment of an on-the-fly computation of the modifiedsyndrome is depicted in FIG. 7. If the switches are in their depictedposition, the architecture realizes the computation according toEquation (47). If the switches are toggled, the architecture realizesthe computation according to Equation (46).

The switches are realized as combinatorial logic; hence they do notcause any extra clock delay. Comparing the depicted architecture withthe one in FIG. 4, an additional multiplier and adder per cell orregister is necessary. Increasing the hardware structure and thereforeincreasing the latency time can achieve reduction of computation time.

At the beginning of a new code sequence, register 1 in FIG. 7 isinitialised with the power of the position of the first symbol, forexample with α¹⁸¹ for the example of the inner code of DVD. Theregisters 2 and 3 are initialised with zeros. The switches are directlyconnected to the erasure signal. All registers 1, 2 and 3 are clockedwith the rising edge of the symbol clock, which updates the syndromesaccording to Equation (46) or (47), depending on the erasure signal.

The clocking of register 1 decreases the power of the root term by one,in preparation for the next symbol. At the end of the last symbol in thesequence, after the last computation, registers 2 hold the modifiedsyndromes of the whole code sequence and registers 3 hold the erasurepolynomial.

The timing behavior and the algorithm are now explained by way ofexample. Assuming M=10 and order goes downward, as it is the case forthe inner code of DVD. The symbol order starts with 181 and goes down to0. The registers are preloaded with T(x)=0 and Γ⁻¹(x)=1. Let us assumewe receive the following data stream:ν₁₈₁=α⁶,ν₁₈₀*=α⁹,ν₁₇₉*=α¹⁰,ν₁₇₈=α¹²,ν₁₇₇=α¹⁵,ν₁₇₆= . . . , . . . , ν₀=α^(. . .) ,where the ν_(i)* shall indicate those symbols-which are signaled aserasures. At every rising edge of the system clock a new symbol ν_(n)and an erasure information as shown in FIG. 8 is obtained.

The erasure signal feeds the switches of the circuit in FIG. 7. If theerasure signal is false the switches remain in their depicted position,if the erasure signal is true the switches are toggled. At the risingedge of the system clock, denoted as 1 in FIG. 6, the circuit in FIG. 7is clocked and Equation (46) or (47) is computed. After the last, i.e.182nd symbol clock, the correct modified syndrome of the whole codewordis obtained. For the present example, the intermediate results up toafter the fifth incoming symbol shall now be explained in detail.

Computation is done in order of the incoming symbols; after each step,the resulting modified syndromes are correct up to the latest receivedsymbol.

-   -   1. Getting data symbol ν₁₈₁=α⁶; computing Equation (46):

$\begin{matrix}\begin{matrix}{{T_{0}(x)} = {a^{6}\left( {1 + {a^{181}x} + {a^{2 - 180}x^{2}} + \ldots + {a^{9 - 180}x^{9}}} \right)}} \\{= {a^{6} + {a^{187}x} + {a^{113}x^{2}} + {a^{39}x^{3}} + {a^{220}x^{4}} +}} \\{{a^{146}x^{5}} + {a^{72}x^{6}} + {a^{253}x^{7}} + {a^{179}x^{8}} + {a^{105}x^{9}}}\end{matrix} & (48) \\{\Gamma_{0} = 1} & (49)\end{matrix}$

-   -   2. Getting erasure symbol ν₁₈₀*=α⁹ computing Equation (47):

$\begin{matrix}{\begin{matrix}{{T_{1}(x)} = {a^{6}\left( {1 + {a^{181}x} + {a^{2 - 180}x^{2}} + \ldots + {a^{9 - 180}x^{9}}} \right)}} \\{= {a^{6} + {\left( {a^{187} + {a^{180}a^{6}}} \right)x} + {\left( {a^{113} + {a^{180}a^{187}}} \right)x^{2}} + \ldots +}} \\{{\left( {a^{105} + {a^{180}a^{179}}} \right)x^{9}} + a^{9}} \\{= {a^{229} + {a^{211}x} + {a^{137}x^{2}} + {a^{63}x^{3}} + {a^{244}x^{4}} + {a^{170}x^{5}} +}} \\{{a^{96}x^{6}} + {a^{22}x^{7}} + {a^{203}x^{8}} + {a^{129}x^{9}}}\end{matrix}{and}} & (50) \\{{\Gamma_{1}(x)} = {1 + {a^{180}x}}} & (51)\end{matrix}$

-   -   3. Getting data symbol ν₁₇₉=α¹⁰; computing Equation (46):

$\begin{matrix}\begin{matrix}{{T_{2}(x)} = {\left( {a^{229} + a^{10}} \right) + {\left( {a^{211} + {a^{10}\left( {a^{179} + a^{180}} \right)}} \right)x} +}} \\{{\left( {a^{137} + {a^{10}\left( {a^{2 - 179} + {a^{179}a^{180}}} \right)}} \right)x^{2}} + \ldots +} \\{\left( {a^{129} + {a^{10}\left( {a^{9 - 179} + {a^{8 - 179}a^{180}}} \right)}} \right)x^{9}} \\{= {a^{199} + {a^{179}x} + {a^{162}x^{2}} + {a^{87}x^{3}} + {a^{209}x^{4}} +}} \\{{a^{48}x^{5}} + {a^{201}x^{6}} + {a^{133}x^{7}} + {a^{182}x^{8}} + {a^{215}x^{9}}}\end{matrix} & (52) \\{{\Gamma_{2}(x)} = {1 + {a^{180}x}}} & (53)\end{matrix}$

-   -   4. Getting erasure symbol ν₁₇₈*=α¹²; computing Equation (47):

$\begin{matrix}{\begin{matrix}{{T_{3}(x)} = {a^{199} + {\left( {a^{179} + {a^{178}a^{199}}} \right)x} +}} \\{{\left( {a^{162} + {a^{178}a^{179}}} \right)x^{2}} + \ldots +} \\{{\left( {a^{215} + {a^{178}a^{182}}} \right)x^{9}} + a^{12} + {a^{12}a^{180}x}} \\{= {a^{216} + {a^{36}x} + {a^{234}x^{2}} + {a^{135}x^{3}} + {a^{85}x^{4}}}} \\{{{+ a^{88}}x^{5}} + {a^{202}x^{6}} + {a^{244}x^{7}} + {a^{166}x^{8}} + {a^{231}x^{9}}}\end{matrix}{and}} & (54) \\\begin{matrix}{{\Gamma_{3}(x)} = {1 + {\left( {a^{180} + a^{178}} \right)x} + {a^{180}a^{178}x^{2}}}} \\{= {1 + {a^{228}x} + {a^{103}x^{2}}}}\end{matrix} & (55)\end{matrix}$

-   -   5. Getting data symbol ν₁₇₇=α¹⁵; computing Equation (46):

$\begin{matrix}\begin{matrix}{{T_{4}(x)} = {\left( {a^{216} + a^{15}} \right) + {\left( {a^{36} + {a^{15}\left( {a^{177} + a^{228}} \right)}} \right)x} +}} \\{{\left( {a^{234} + {a^{15}\left( {a^{2 - 177} + {a^{177}a^{228}} + a^{103}} \right)}} \right)x^{2}} +} \\{\left( {a^{231} + {a^{15}\left( {a^{9 - 177} + {a^{8 - 177}a^{228}} + {a^{7 - 177}a^{103}}} \right)}} \right)x^{9}} \\{= {a^{169} + {a^{134}x} + {a^{119}x^{2}} + {a^{68}x^{3}} + {a^{128}x^{4}} + {a^{172}x^{5}} +}} \\{{a^{21}x^{6}} + {a^{40}x^{7}} + {a^{217}x^{8}} + {a^{152}x^{9}}}\end{matrix} & (56) \\\begin{matrix}{{\Gamma_{4}(x)} = {1 + {\left( {a^{180} + a^{178}} \right)x} + {a^{180}a^{178}x^{2}}}} \\{= {1 + {a^{228}x} + {a^{103}x^{2}}}}\end{matrix} & (57)\end{matrix}$

Comparison of Equation (56) with (29) and (57) with (30) verifies thealgorithm. This result is an intermediate result, it is not the finallymodified syndrome, it is the modified syndrome up to that symbol. Themodified syndrome of the whole code sequence is obtained after the 182ndcomputation.

1. A method for soft-decision decoding of Reed-Solomon codewordsconsisting of N symbols, M of which are check symbols, comprising:computing a syndrome polynomial, an erasure polynomial, and a modifiedsyndrome polynomial of a same one of the codewords in parallel byiteratively updating coefficients of the syndrome polynomial, theerasure polynomial, and the modified syndrome polynomial at each symbolclock when a new data symbol of the same one of the codewords isarriving, such that the syndrome polynomial, the erasure polynomial, andthe modified syndrome polynomial for the same one of the codewords areobtained directly after the coefficient updating for the last symbol ofthe same one of the codewords has been performed.
 2. The method of claim1 comprising the steps of: computing the syndrome polynomial S(x) as${{S(x)} = {{\sum\limits_{i = 0}^{N - 1}v_{i}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{i}x}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{2i}x^{2}}} + \ldots + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{{({M - 1})}i}x^{M - 1}}}}},$where the ν_(i) are the incoming data symbols; computing the erasurepolynomial Γ(x) as${{\Gamma(x)} = {\prod\limits_{i = 0}^{p - 1}\left( {1 - {\alpha^{j_{i}}x}} \right)}},$where α^(j) ^(i) is the power of the positions j₀, j₁, . . . , j_(p−1)of the erasures and p is the number of erasures in the codeword;constructing the modified syndrome polynomial in a way which obtains thecorrect modified syndrome T(x)=Γ(x)S(x)mod x^(M) after computation ofthe last symbol, determining polynomes Λ(x), Ω(x) by solving theimplicit key equation Λ(x)T(x)=Ω(x)mod x^(M) with Berlekamp-Massey orEuclid's algorithm, computing the Forney polynomial Ψ(x)=Λ(x)Γ(x)computing the magnitude of the errors and erasures using the Forneyequation.
 3. The method of claim 2, whereby the computation of theerasure polynomial and the modified syndrome polynomial is performedon-the-fly with the incoming data symbols ν_(N−1), . . . , ν₁, ν₀. 4.The method of claim 1, whereby the syndrome polynomial is computed inthe form $\quad\begin{matrix}{{S(x)} = {{\sum\limits_{i = 0}^{N - 1}v_{i}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{i}x}} + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{2i}x^{2}}} + \ldots + {\sum\limits_{i = 0}^{N - 1}{v_{i}\alpha^{{({M - 1})}i}x^{M - 1}}}}} \\{= {S_{0} + {S_{1}x} + {S_{2}x^{2}} + \ldots + {S_{M - 1}{x^{M - 1}.}}}}\end{matrix}$ by iteratively updating the coefficients S_(i), i=0, 1, .. . , M−1, whereby at each symbol clock j when a new symbol ν_(n) isarriving, the power α^(n) of the position n is computed and thecoefficients are updated in the following wayS _(i,j) =S _(i,j−1)+ν_(n)α^(in) ,i=0,1, . . . , M−1 where S _(i−1)=0.5. The method of claim 1, whereby the erasure polynomial is computedon-the-fly by iteratively updating the polynomial $\quad\begin{matrix}{{\Gamma(x)} = {\prod\limits_{i = 0}^{p - 1}\left( {1 - {\alpha^{ji}x}} \right)}} \\{= {\Gamma_{0} + {\Gamma_{1}x} + {\Gamma_{2}x^{2}} + \ldots + {\Gamma_{p}x^{p}}}}\end{matrix}$ whereby the updating is performed at each symbol clockj_(i) when a new arriving symbol is being flagged as an erasure, thepower α^(j) ^(i) of the erasure position j_(i) is computed and thepolynomial is updated in the following wayΓ_(j)(x)=Γ_(j−1)(x)·(1−α^(ji) x)=(Γ_(0,j−1)+Γ_(1,j−1) x+ . . . +Γ_(p,j−1) x ^(p))(1−α^(ji) x).
 6. The method of claim 1, the on-the-flycomputation of the modified syndrome polynomial being performed by thesteps of: preloading of polynomials Γ⁻¹(x)=1;T ⁻¹(x)=0; getting onesymbol ν_(n) at each symbol clock; computing at a first system clockwithin the symbol clock: $\quad\begin{matrix}{{T_{*}(x)} = {{T_{j - 1}(x)} + {v_{n}\left( {1 + {\left( {\alpha^{n} + \Gamma_{1,{j - 1}}} \right)x} + \left( {\alpha^{2n} + {\alpha^{n}\Gamma_{1,{j - 1}}} +} \right.} \right.}}} \\\left. {{\left. \Gamma_{2,{j - 1}} \right)x^{2}} + \ldots + {\sum\limits_{i = 0}^{M - 1}{\alpha^{ni}\Gamma_{{M - 1 - i},{j - 1}}x^{M - 1}}}} \right) \\{{\Gamma_{*}(x)} = {\Gamma_{j - 1}(x)}}\end{matrix}$  determining if ν_(n) is an erasure; if yes: computing ata second system clock within the symbol clock:T _(i)(x)=T(x)(1−α^(n) x);Γ_(j)(x)=Γ_(j−1)(x)(1−α^(n) x) if no: usingT _(j)(x)=T_(*)(x)Γ_(i)(x)=Γ_(*)(x).
 7. The method of claim 1, the computation of themodified syndrome polynomial involving, in cases where an incomingsymbol is flagged as an erasure, an on-the-fly updating step in theform:T _(n)(x)=T _(n−1)(x)(1−α^(n) x)+ν_(n)Γ_(n−1)(x), where Γ_(−(x)=)1. 8.The method of claim 1, the modified syndrome polynomial being computedon-the-fly by the steps of: preloading of polynomials Γ⁻¹(x)=1;T⁻¹(x)=0,getting one symbol ν_(n) at each symbol clock, determining if ν_(n) isan erasure, if Yes: ComputingT _(j)(x)=T _(i−1)(x)(1−α^(n) x)+ν_(n)Γ_(i−1)(x)Γ_(j)(x)=Γ_(j−1)(x)(1−α^(n) x); if No: computing $\quad\begin{matrix}{{T_{j}(x)} = {{T_{j - 1}(x)} + {v_{n}\left( {1 + {\left( {\alpha^{n} + \Gamma_{1,{j - 1}}} \right)x} + \left( {\alpha^{2n} + {\alpha^{n}\Gamma_{1,{j - 1}}} +} \right.} \right.}}} \\\left. {{\left. \Gamma_{2,{j - 1}} \right)x^{2}} + \ldots + {\sum\limits_{i = 0}^{M - 1}{\alpha^{ni}\Gamma_{{M - 1 - i},{j - 1}}x^{M - 1}}}} \right) \\{{\Gamma_{j}(x)} = {{\Gamma_{j - 1}(x)}.}}\end{matrix}$
 9. A digital storage medium comprising: a program forsoft-decision decoding of Reed-Solomon codewords, the program beingadapted for computing a syndrome polynomial, an erasure polynomial, anda modified syndrome polynomial of a same one of the codewords inparallel by iteratively updating coefficients of the syndromepolynomial, the erasure polynomial, and the modified syndrome polynomialat each symbol clock when a new data symbol of the same one of thecodewords is arriving, such that the syndrome polynomial, the erasurepolynomial, and the modified syndrome polynomial for the same one of thecodewords are obtained directly after the coefficient updating for thelast symbol of the same one of the codewords has been performed.
 10. Anapparatus comprising: a Reed-Solomon codeword decoder configured forcomputation of a syndrome polynomial, an erasure polynomial, and amodified syndrome polynomial of a codeword in parallel by iterativelyupdating coefficients of the syndrome polynomial, the erasure polynomialand the modified syndrome polynomial of the codeword at each symbolclock when a new data symbol of the codeword is arriving, such that thesyndrome polynomial, the erasure polynomial and the modified syndromepolynomial for the codeword are obtained directly after the coefficientupdating for the last symbol of the codeword has been performed.